package com.haixiaoke.saas.house.mapper;

import com.haixiaoke.saas.house.domain.House;

import java.util.List;
import java.util.Map;

/**
 * 房屋Mapper接口
 * 
 * @author panda
 * @date 2025-06-26
 */
public interface HouseMapper {
    /**
     * 查询房屋
     * 
     * @param houseId 房屋主键
     * @return 房屋
     */
    House selectHouseByHouseId(String houseId);

    /**
     * 查询房屋列表
     * 
     * @param house 房屋
     * @return 房屋集合
     */
    List<House> selectHouseList(House house);

    /**
     * 新增房屋
     * 
     * @param house 房屋
     * @return 结果
     */
    int insertHouse(House house);

    /**
     * 修改房屋
     * 
     * @param house 房屋
     * @return 结果
     */
    int updateHouse(House house);

    /**
     * 删除房屋
     * 
     * @param houseId 房屋主键
     * @return 结果
     */
    int deleteHouseByHouseId(String houseId);

    /**
     * 批量删除房屋
     * 
     * @param houseIds 需要删除的数据主键集合
     * @return 结果
     */
    int deleteHouseByHouseIds(String[] houseIds);

    /**
     * 软删除房源
     * @param houseId
     * @return
     */
    int softDeleteHouseByHouseId(String houseId);

    int updateHouseState(House house);

    List<House> flatSelectHouseListByUser(House house);

    List<Map<String, Object>> homePage();
}
